export function patch(oldVnode, vnode){
  let el = createEl(vnode);
  const parentElem = oldVnode.parentNode;
  parentElem.insertBefore(el, oldVnode);
  parentElem.removeChild(oldVnode);
  return el; // 将新创建的元素返回出去
}

function createEl(vnode){
  let { tag, data, key, children, text } = vnode;
  if(typeof tag === 'string'){ // 标签
    vnode.el = document.createElement(tag); // 创建元素
    if(children.length > 0){ // 递归
      children.map(item => {
        vnode.el.appendChild(createEl(item));
      });
    }
  } else { // 文本
    vnode.el = document.createTextNode(text);
  }
  return vnode.el;
}